#pragma once
#include "vector3.h"
#include <vector>

namespace RayTrace{

//struct light{
//	vector3 position;
//	vector3 color;
//};
class Ray{
public:
	vector3 origin;
	vector3 direction;
public:
	vector3 GetPos(float t) const {return origin+direction*t;}
};
struct Screen{
	vector3 topLeft;
	vector3 bottomRight;
	vector3 topRight;
	vector3 bottomLeft;

};

struct TexCoordinate{
	float u,v;
};

struct Face{
	unsigned short v1,v2,v3;  
	unsigned int MatIndex;
};

//struct InterSectPoint{
//	double t;
//	vector3 pos;
//	vector3 barycentric;
//	Face
//};
struct MaterialFaces {
	std::vector<unsigned short> subFaces;//An face index vector
	int MatIndex;				// An index to our materials
};
const double MMIN=1e-6;
const double MMAX=1e6;
}